La funzione `filter_var` in PHP è utilizzata per filtrare e validare variabili secondo criteri specifici. È parte dell’estensione Filter di PHP, che fornisce una serie di strumenti potenti per la sanitizzazione e la validazione dei dati in arrivo, come input da moduli o dati provenienti da altre fonti esterne. L’uso di `filter_var` è essenziale per garantire la sicurezza e l’integrità del codice, prevenendo attacchi comuni come SQL injection e XSS (Cross-Site Scripting).
La sintassi di base di `filter_var` è:
```
mixed filter_var(mixed $variable, int $filter, array|int $options = 0)
```
- $variable: La variabile che deve essere filtrata.
- $filter: Il tipo di filtro applicato alla variabile (ad esempio, FILTER_VALIDATE_EMAIL per validare un indirizzo email).
- $options: Un array o un singolo valore di opzioni che modificano il comportamento del filtro.
```
$email = “test@example.com”;
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo “L’indirizzo email è valido.”;
} else {
echo “L’indirizzo email non è valido.”;
}
```
```
$string = “
```
$int = “100”;
$options = array(
“options” => array(
“min_range” => 0,
“max_range” => 200
)
);
if (filter_var($int, FILTER_VALIDATE_INT, $options)) {
echo “L’intero è valido.”;
} else {
echo “L’intero non è valido.”;
}
```
- Sanitization Filters:
- `FILTER_SANITIZE_STRING`
- `FILTER_SANITIZE_EMAIL`
- `FILTER_SANITIZE_URL`
- `FILTER_SANITIZE_NUMBER_INT`
- `FILTER_SANITIZE_NUMBER_FLOAT`
- `FILTER_SANITIZE_SPECIAL_CHARS`
- Validation Filters:
- `FILTER_VALIDATE_BOOLEAN`
- `FILTER_VALIDATE_EMAIL`
- `FILTER_VALIDATE_FLOAT`
- `FILTER_VALIDATE_INT`
- `FILTER_VALIDATE_IP`
- `FILTER_VALIDATE_URL`
L’utilizzo della funzione `filter_var` è cruciale in scenari di sviluppo web dove la validazione dell’input dell’utente è necessaria per evitare rischi di sicurezza. Ad esempio, una corretta validazione degli indirizzi email non solo assicura che i dati inseriti siano formattati correttamente, ma aiuta anche a prevenire eventuali operazioni malevole come spam e attacchi.
1. [PHP Manual – `filter_var`](https://www.php.net/manual/en/function.filter-var.php)
2. [PHP The Right Way – Filters](https://phptherightway.com/#filters)
3. [W3Schools – PHP Filters](https://www.w3schools.com/php/php_filter.asp)
Queste fonti offrono una documentazione completa e dettagliata riguardo l’uso di `filter_var` e degli altri strumenti di filtering forniti da PHP, supportando gli esempi e le spiegazioni fornite.